//==============================================================================
#include "CPlanta.h"
//==============================================================================
CPlanta::CPlanta():CObjetoAnimado() {
    OldTime=0;
    OldTimeBala=0;
    Type=ENTITY_TYPE_PLANTA;
}
//-----------------------------------------------------------------------------
void CPlanta::SetDireccionDisparo(bool izquierda){
    this->disparaIzq=izquierda;
}//-----------------------------------------------------------------------------
CPlanta::~CPlanta() {
}
//==============================================================================
bool CPlanta::OnLoad(char* File, int Width, int Height, int MaxFrames, int Index) {
    CObjetoAnimado::OnLoad(File, Width, Height, MaxFrames, Index);
    this->CurrentIndex=0;
    //this->Inactive=false;
    this->TieneQueDisparar=false;
}
//------------------------------------------------------------------------------
void CPlanta::OnLoop() {

    if (!this->TieneQueDisparar){
    	Anim_Control.SetFrameRate(500);
    	if (OldTime + 5000 < SDL_GetTicks()){
            OldTime = SDL_GetTicks();
            CurrentIndex=1;
            this->TieneQueDisparar=true;
            //OldTimeBala = 0;
        }
    }
    if (this->TieneQueDisparar){
       Anim_Control.SetFrameRate(100);
       if (OldTimeBala + 2000 < SDL_GetTicks()){
            OnDisparar();
            OldTimeBala = SDL_GetTicks();
       }
       if (OldTime + 10000 < SDL_GetTicks()){
            this->TieneQueDisparar=false;
            CurrentIndex=0;
            OldTime = SDL_GetTicks();
        }
    }
	CObjetoAnimado::OnLoop();
}
//------------------------------------------------------------------------------
void CPlanta::OnDisparar(){
    CBalaPlanta *balaplanta;
    balaplanta=new CBalaPlanta();

    balaplanta->OnLoad("llamaI.png", 57 ,39 ,3,0);
    balaplanta->OnLoad("llamaD.png", 57 ,39 ,3,1);
    if (this->disparaIzq)
        balaplanta->X=this->X-TILE_SIZE;
    else
        balaplanta->X=this->X+TILE_SIZE;

    balaplanta->SetDireccionDisparo(this->disparaIzq);
    balaplanta->Y=this->Y;

    CObjetoAnimado::ObjectList.push_back(balaplanta);
}
//------------------------------------------------------------------------------
void CPlanta::OnAnimate() {
	Anim_Control.OnAnimate();
}/*
//------------------------------------------------------------------------------
bool CPlanta::OnCollision(CObjetoAnimado* Objeto) {
    return true;
}
//==============================================================================
*/
